.swiper-slide{background-position: center; background-size: cover;}

p {margin: 0; padding: 0;}

.table {
    padding: 50px 0; color: #ef761b;
}
.table-inner {
    margin: auto; border: solid 1px #ef761b; border-radius: 20px; overflow: hidden;
}
.table-title {
    font-weight: bold; text-align: center;
}
.table-block > div {
    margin-top: 20px; display: flex; align-items: center;
}
.table-block span {
    display: block; position: relative;
}
.table-block span.must::before {
    position: absolute; left: -16px; content: '*'; color: red;
}
.table-phone {
    background-color: #ef761b; padding: 20px; text-align: center; color: #FFF; font-weight: bold;
}
.table-phone > div:nth-child(2) {
    padding-top: 5px;
}

.textbox {
    border: solid 1px #ef761b; border-radius: 15px; padding: 10px; flex: 1; outline: none; width: 0;
}
.button {
    background-color: #ef761b; border: none; border-radius: 15px; padding: 15px; color: #FFF; background-image: url(logo-panel.png); background-repeat: no-repeat; background-position: center; background-size: 150px 20px; width: 75%; cursor: pointer;
}
.button:hover {
    opacity: .8;
}
.button:active {
    opacity: .9;
}
.radio {
    border: solid 1px #ef761b; border-radius: 15px; flex: 1; display: flex; overflow: hidden;
}
.radio > div {
    flex: 1; padding: 15px; text-align: center;
}
.radio > div:not(.selected) {
    cursor: pointer;
}
.radio > div.selected {
    color: #FFF; background-color: #ef761b; border-radius: 15px;
}

.mask {
    position: fixed; z-index: 999; left: 0; top: 0; width: 100%; height: 100%; display: none; align-items: center; justify-content: center; background-color: rgba(0,0,0,.5); color: #FFF; font-size: 18px;
}
.mask.show {
    display: flex;
}

.index img {
    width: 100%; vertical-align: bottom;
}

@media (min-width: 780px) {
    .index {
        width: 100%;
    }
    .table {
        font-size: 28px; padding: 0;
    }
    .table-inner {
        background-color: rgba(255,255,255,.8); backdrop-filter: blur(15px);
    }
    .textbox {
        font-size: 28px;
    }
    .button {
        padding: 25px 15px;
    }
    .table-title {
        font-size: 34px;
    }
    .table-block {
        padding: 20px;
    }
    .table-block span {
        width: 150px;
    }
    .table-phone {
        font-size: 30px;
    }

    #app {
        position: fixed; right: 20px; bottom: 20px; zoom: .5;
    }
}
@media (max-width: 780px) {
    .table {
        font-size: 16px;
    }
    .textbox {
        font-size: 16px;
    }
    .table-inner {
        width: 90%;
    }
    .table-title {
        font-size: 16px;
    }
    .table-block span {
        width: 80px;
    }
}

